<?php
include_once('inc/functions.inc.php');

if(!isEmpty(getParam('operation'))){
    
    switch(getParam('operation')){
        case 'contenido': {
            fntAutorizacionContenido($db);
            break;
        }
        case 'c': {
            fntSolicitudCambiarEstado($db);
            break;
        }
    }
    die();
}

function fntAutorizacionContenido($db) {
    
    $intTipo = getParam("sltAutorizacionTipo");
    $arrTipo = array();
    $arrTipo[1] = "Cheque";
    $arrTipo[2] = "Nota de credito";
    $arrTipo[3] = "Nota de debito";
    
    $strQuery = "SELECT cllg_bnc_banco.NOMBRE AS BANCO, 
                        cllg_bnc_cuenta.NUMERO, 
                        cllg_bnc_cuenta.CUENTA, 
                        IF(cllg_bnc_cuenta_chequeras.ID IS NULL,' ( Sin chequera habilitada ) ','') AS HABILITADA 
                FROM    cllg_bnc_banco, 
                        cllg_bnc_cuenta
                        LEFT JOIN cllg_bnc_cuenta_chequeras ON cllg_bnc_cuenta.NUMERO = cllg_bnc_cuenta_chequeras.FK_CUENTA AND cllg_bnc_cuenta_chequeras.ESTADO = 1
                WHERE   cllg_bnc_banco.ID = cllg_bnc_cuenta.FK_BANCO
                AND     cllg_bnc_cuenta.ESTADO = '1' 
                ORDER   BY cllg_bnc_cuenta.NUMERO";
    $qTMP = $db->query($strQuery);
    $intNumRows = $db->num_rows;

    $arrCuentas = array();
    if( $intNumRows > 0 ) {
        while ( $rTMP = $db->fetch_array($qTMP) ) { 
            $arrCuentas[$rTMP["BANCO"]][$rTMP["NUMERO"]] = $rTMP["CUENTA"].$rTMP["HABILITADA"];       
        }
    }
    $db->free_result($qTMP);

    $strWhere = "";
    if( $intTipo > 0 ) {
        $strWhere = " AND TIPO = '{$intTipo}'";
    }
    
    $strQuery = "SELECT ID, DATE_FORMAT(FECHA, '%d-%m-%Y') AS FECHA, MONTO, TIPO, NOMBRE, CONCEPTO, ESTADO, FK_CUENTA, MODULO 
                 FROM   cllg_bnc_docto_solicitud WHERE ESTADO = '2' 
                 {$strWhere}  
                 ORDER  BY ID";
    $qTMP = $db->query($strQuery);
    $intNumRows = $db->num_rows;

    if( $intNumRows > 0 ) {
        ?>
        <div style="width: 900px; height: 180px; overflow: auto;">
        <?php
        while ( $rTMP = $db->fetch_array($qTMP) ) { 
            ?>
            <div style="width: 150px; height: 30px; float: left; text-align: center;">
                <input type="hidden" name="hdnSolicitud_<?php print $rTMP["ID"]; ?>" value="<?php print $rTMP["ID"]; ?>">
                <?php print $arrTipo[$rTMP["TIPO"]]; ?>
            </div>
            <div style="width: 100px; height: 30px; float: left; text-align: center;"><?php print $rTMP["ID"]; ?></div>
            <div style="width: 100px; height: 30px; float: left; text-align: center;"><?php print $rTMP["FECHA"]; ?></div>
            <div style="width: 200px; height: 30px; float: left;"><?php print $rTMP["NOMBRE"]; ?></div>
            <div style="width: 150px; height: 30px; float: left; text-align: right;"><?php print number_format($rTMP["MONTO"], 2); ?></div>
            <div style="width: 182px; height: 30px; float: left; text-align: center;">
                <select name="sltCuenta_<?php print $rTMP["ID"]; ?>" style="width: 165px;">
                    <option value="0"></option>
                    <option value="R">Rechazar</option>                
                <?php
                reset($arrCuentas);
                while( $arrTMP = each($arrCuentas) ) {
                    
                    ?>
                    <optgroup label="<?php print $arrTMP["key"]; ?>">
                    <?php
                    while ($arrTMP1 = each($arrTMP["value"]) ) {
                        ?>
                        <option value="<?php print $arrTMP1["key"]; ?>"><?php print $arrTMP1["value"]; ?></option>
                        <?php
                    }
                    ?>
                    </optgroup>
                    <?php
                    
                } 
                ?>
                </select>
            </div>
            <?php    
        }
        ?>
        </div>
        <?php
    }
    else {
        ?>
        <div class="ui-widget" style="border: 0px solid white; width: 100%; height: auto; vertical-align: bottom; text-align: center;">
            <div class="ui-state-highlight ui-corner-all" style="margin-top: 0px; padding: 0pt 0.7em; height: auto; width: 90%;"> 
                <span class="ui-icon ui-icon-info" style="float: left; margin-right: 0.3em;"></span>
                No hay solicitudes.
           </div>
        </div>
        <?php        
    }
    $db->free_result($qTMP);
}
function fntSolicitudCambiarEstado($db) {

    $strSolicitudes = "";
    while( $arrPost = each($_POST) ) {
        
        $arrExplode = explode("_", $arrPost["key"]);
        if( $arrExplode[0] == "hdnSolicitud" ) {
            
            $intCuenta = ( isset($_POST["sltCuenta_{$arrExplode[1]}"]) ) ? $_POST["sltCuenta_{$arrExplode[1]}"] : 0;
            
            if( isset($_POST["sltCuenta_{$arrExplode[1]}"]) && $_POST["sltCuenta_{$arrExplode[1]}"] == "R" ) {
                $db->query("UPDATE cllg_bnc_docto_solicitud SET ESTADO = '1' WHERE ID = '{$arrExplode[1]}'");
                $db->query("UPDATE cllg_cp_pago SET ESTADO = '0' WHERE FK_SOLICITUD = '{$arrExplode[1]}'");
                
                /**/
                $strQuery = "SELECT * FROM cllg_cp_pago WHERE FK_SOLICITUD = '{$arrExplode[1]}'";
                $qTMP = $db->query($strQuery);
                while ( $rTMP = $db->fetch_array($qTMP) ) {
                    $sinSaldo = 0;
                    $strQuery1 = "SELECT SUM(MONTO) AS SALDO FROM cllg_cp_pago WHERE FK_FACTURA = '{$rTMP["FK_FACTURA"]}' AND ESTADO IN(1,2)";
                    $qTMP1 = $db->query($strQuery1);
                    while ( $rTMP1 = $db->fetch_array($qTMP1) ) {
                        $sinSaldo += $rTMP1["SALDO"];    
                    }
                    $db->free_result($qTMP1);
                    $strQuery = "UPDATE cllg_cp_factura SET SALDO_ACTUAL = SALDO_ANTERIOR - {$sinSaldo} WHERE ID = '{$rTMP["FK_FACTURA"]}'";
                    $db->query($strQuery);
                }
                $db->free_result($qTMP);                
                /**/
                
                $strSolicitudes .= ( empty($strSolicitudes) ) ? "" : ", ";
                $strSolicitudes .= $arrExplode[1];
                
            }
            
            if( isset($_POST["sltCuenta_{$arrExplode[1]}"]) && $intCuenta > 0 ) {
                $db->query("UPDATE cllg_bnc_docto_solicitud SET ESTADO = '3', FK_CUENTA = '{$intCuenta}' WHERE ID = '{$arrExplode[1]}'");
                $strSolicitudes .= ( empty($strSolicitudes) ) ? "" : ", ";
                $strSolicitudes .= $arrExplode[1];
                
            }
        }        
    }
    
    if( !empty( $strSolicitudes ) ) {
        ?>
        <div class="ui-widget" style="border: 0px solid white; width: 500px; height: auto; vertical-align: bottom;" align="center">
            <div class="ui-state-highlight ui-corner-all" style="margin-top: 0px; padding: 0pt 0.7em; height: auto; width: 220px;"> 
                <span class="ui-icon ui-icon-info" style="float: left; margin-right: 0.3em;"></span>
                Solicitud # <?php print $strSolicitudes; ?> rechazada(s).
           </div>
        </div>
        <?php
    }    
}
?>